home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
forth83.arc
/
F83.DOC
< prev
Wrap
Text File
|
1984-06-20
|
7KB
|
150 lines
.PO 3
WELCOME TO FORTH
This is a public domain system, and may be freely
distributed and copied, as long as the authors are given credit
and no copyright notice is placed upon it. If we catch someone
selling this system as their own proprietary product, with their
copyright notice , we will do our best to make them regret it for
the rest of their lives. You have been warned!!
By now you may have looked at some of the files with the
cp/m TYPE command. You can have a printout of these instructions
by using Control P and entering TYPE FORTH.DOC
In what follows the <CR> symbol represents the carriage
return key on your terminal. To enter Forth from the CP/M
environment, insert the disk containing the F83.COM file into
drive A of your computer, (after booting it of course) and type
F83<CR>
Forth will reply with:
8080 Forth 83 Model 1.0.0
Modified 11Oct83
Forth is about ten years old now (1983) but some of the features
of F83 are relatively new to the Public Domain Forth Model.
The VIEW command is one of the best. VIEW <word> <CR> will
find the screen that contains the code for the <word>, provided
that the file that contains <word> is on the currently logged
disk drive. If you can fit all of the source code on a single
drive, VIEW works great, and takes care of opening the file and
displaying the screen for you.
We have also tried to make extensive use of the shadow
screen concept. In this regard, the A word moves you from the
current screen to it associated shadow screen. The SHADOW
vocabulary contains a bunch of words that are helpful in
maintaining shadow screens. COPY allows you to copy not only a
screen, but also its associated shadow. SHOW allows you to list
each source screen across from its shadow when you want to print
them. Finally CONVEY allows you to move groups of screens and
their associated shadows. To see what words are in the SHADOW
vocabulary simply type SHADOW WORDS<CR>
There is also a decompiler present which reverses the
compiling process, producing source code from object code. The
user interface to it is the word SEE <name> where <name> is the
name of a Forth word you wish to decompile. While the
information SEE gives you is not as complete as that given by
VIEW, a least it is always available, and not dependant upon
whether or not the correct file is present on the currently
logged in disk drive. For a real experience try decompiling the
words STATUS, which is a DEFERred word, ie and execution vector.
SEE calls itself recursively in this case and tracks down the
definition. This can be quite handy.
To see a list of the words that are in the dictionary type
WORDS. You will see lots of words. Each is a command and each
can be VIEWed. Let's look at the word SHOW by typing VIEW SHOW.
Assuming all is well you will see a Forth screen containing the
definition of SHOW along with some other words. Type A L (cr)
and you will be rewarded with the Shadow screen that goes with
it. A L (cr) will Alternate List you back to the original
screen of code. Look at it and when you see a word that doesn't
seem fully self evident, VIEW it and read the shadow screen. The
word SHOW and it's source code that we have been viewing, is a
command that prints out three source screens along with three
shadows for a total of six screens per page. There are two
versions of SHOW. The vocabulary you are in determines how SHOW
will print out. If you are in the SHADOW vocabulary, six screens
of code and shadows will print. If you are in FORTH all code
screens will be the mode.
Now for some more commands. N is next screen and L is
list. N L lists the next screen and B L lists the next screen
back. N ED will edit the next screen etc. Now lets printout a
few screens that will detail some of the editor commands. Most
are from Starting Forth but some are new ones.
Type this: EDITOR VIEW JOIN<CR>
You are looking at a screen of editing commands. Lets go to the
shadow with the A L command and do some exploring. While we
are in the shadows lets look at the next five or six shadow
screens that should be editor words. Use N L. If you have a
printer you may print these screens now as follows. Type VIEW
WIPE for example. If wipe is the first of 6 screens of editor
words remember the screen number. If for instance it was 80 then
type 80 85 SHADOW SHOW<CR>
If you are new to Forth your best bet is to purchase the
book STARTING FORTH by LEO BRODIE. It costs about seventeen
dollars and is available at most large book stores. On page 84
you will find the commands for the line editor. The F83 model
follows both the book and the Forth 83 standard.
The Forth Interest Group ( FIG ) has meetings on the 4th
Saturday of each month, currently at the Chabot College in
Hayward, CA. Call the FIG hot line if you wish to double check
the location ph 962-8653 or the FIG Tree BBS (300 baud)
at 538-3580.
Henry Laxen Mike Perry
1259 Cornell Avenue 1125 Bancroft Way
Berkeley, CA 94706 Berkeley, CA 94702
.pa
Standard System Documentation Requirement
1. The system dictionary space is CPU dependant and can be
determined by typeing HERE U. <CR>
2. The application dictionary space is also CPU dependant and is
the difference between the top of the dictionary and the
beginning of the parameter stack. The location of the parameter
machine. The application dictionary space can be determined by
typing SP@ HERE - U. <CR>
3. The data stack space is the same as the dictionary space.
4. The return stack space was arbitrarily set at 256 bytes. It
can be altered by remeta-compiling the system.
5. No mass storage block ranges are reserved by the system,
other than the contents of the files that are distributed.
6. The user has available to him blocks 0 thru 65534. Note that
block 0 may not be used for loading. Block number 65535 is
reserved to indicate the buffer is missing.
7. Any ascii terminal should work with this system. If the user
has a cursor addressable terminal, the editor can be easily
modified to take advantage of the terminal's characteristics.
8. System action taken upon error conditions:
' <name> ['] <name> not found results in ? error message
*/ */MOD / /MOD MOD UM/MOD all division by 0 errors result
in a 0 quotient
: in the case of an error, a ? error message will be printed
DO if a nesting error occurs, the system will crash. (if you
are lucky)